package controlador;

import vista.VistaAsignarProfesor;
import vista.VistaInscribirEstudiante ;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.ActionEvent;
import java.awt.event.WindowEvent;
import java.io.IOException;

import javax.swing.*;

import modelo.Estudiante;
import modelo.Profesor;
import modelo.Seccion;

public class ControladorAsignarProfesor extends WindowAdapter implements ActionListener {
	private VistaAsignarProfesor vista;
	private Seccion seccion = new Seccion();
	private Profesor Profesor = new Profesor();
	
	public ControladorAsignarProfesor(VistaAsignarProfesor vista) {
		this.vista = vista;
		
	}
  	
	public void actionPerformed(ActionEvent e){
		
		if(e.getActionCommand()=="Ingresar")
			 AsignarProfe();
		else if(e.getActionCommand()=="Cancelar")
			vista.dispose();
		else if(e.getActionCommand()=="Limpiar")
			vista.limpiar();
	}
	
   
    public boolean validarDatos(){
        boolean validacion = false;
        if ((vista.getTxtNombre().equals("")) || (vista.getTxtCedula().equals("")) || (vista.getTxtApellido1().equals("")) || (vista.getTxtTitulo().equals("")) )
            validacion=false;
        else
            validacion=true;
   
        return validacion;
}
    

public void AsignarProfe(){
	boolean vericed = true, verinom = true, veriape = true, verititu = true, comprobar=true;
	String ci, nombre, apellido, titu;
	Profesor es = new Profesor(vista.getTxtCedula(),  vista.getTxtNombre(), vista.getTxtApellido1(), vista.getTxtTitulo());
	ci = vista.txtCedula.getText();
	vericed=Principal.seccion.ValidarNros(ci);
	nombre = vista.getTxtNombre();
	verinom=Principal.seccion.ValidarLetras(nombre);
	apellido = vista.getTxtApellido1();
	veriape=Principal.seccion.ValidarLetras(apellido);
	titu = vista.getTxtTitulo();
	verititu=Principal.seccion.ValidarLetras(titu);
	
            if (validarDatos() == false){
		JOptionPane.showMessageDialog(new JFrame(),"Los Campos con * no pueden estar vacios","Error",
				JOptionPane.INFORMATION_MESSAGE);
				comprobar=false;
            }
            
           	if(vericed=seccion.ValidarNros(ci)==false){
   				 JOptionPane.showMessageDialog(new JFrame(),"Solo debe escribir numeros en el campo cedula como caracteres validos","Error",
   							JOptionPane.INFORMATION_MESSAGE);
   				comprobar=false;
           	}
           	if ((!this.Profesor.getCedula().equals(""))){
    			JOptionPane.showMessageDialog(new JFrame(),"La seccion ya tiene un profesor asignado","Notificacion",
    					JOptionPane.INFORMATION_MESSAGE);
   			comprobar=false;
            } 
           	
            if(verinom=seccion.ValidarLetras(nombre)==false){
				 JOptionPane.showMessageDialog(new JFrame(),"Solo debe escribir letras en el campo nombre como caracteres validos","Error",
							JOptionPane.INFORMATION_MESSAGE);
				comprobar=false;
            }
            
            if(veriape=seccion.ValidarLetras(apellido)==false){
				 JOptionPane.showMessageDialog(new JFrame(),"Solo debe escribir letras en el campo apellido como caracteres validos","Error",
							JOptionPane.INFORMATION_MESSAGE);
				comprobar=false;
            }
            
            if(verititu=seccion.ValidarLetras(titu)==false){
				 JOptionPane.showMessageDialog(new JFrame(),"Solo debe escribir letras en el campo titulo como caracteres validos","Error",
							JOptionPane.INFORMATION_MESSAGE);
				comprobar=false;
           }
                
	 if(comprobar==true) {
            	es.setCedula(vista.getTxtCedula());
                es.setNombre(vista.getTxtNombre());
                es.setApellido(vista.getTxtApellido1());
                es.setTitulo(vista.getTxtTitulo());
                try {
                	seccion.AsignarProfesor(vista.getTxtCedula(),  vista.getTxtNombre(), vista.getTxtApellido1(), vista.getTxtTitulo());
				} catch (IOException e) {
					e.printStackTrace();
				}
                finally {
                    vista.limpiar();
                }

	 }
}

        
	public void windowClosing(WindowEvent e){
		vista.dispose();
	}


}
